home *** CD-ROM | disk | FTP | other *** search
- /*
- * a header of the class KBAN_INFO
- * Copyright (C) 1996, 1997 Kazutaka Hirata <khirata@jove.acs.unt.edu>
- */
-
- #ifndef _KBANINFO_H_
- #define _KBANINFO_H_
-
- #include "kbandata/kbandata.h"
-
- #include "grid.h"
-
- #define FNAME_MAX_LEN 300
-
- #if 0
- class BLOCK_INFO {
- public:
- enum BLOCK_TYPE { BLOCK_LAYER, BLOCK_ALL };
- private:
- bool m_bBlocked;
- BLOCK_TYPE m_block_type;
- uint m_nLayer;
- public:
- bool& bBlocked() { return m_bBlocked; }
- BLOCK_TYPE& block_type() { return m_block_type; }
- uint& nLayer() { return m_nLayer; }
- };
- #endif
-
- class KBAN_INFO {
- // member variables
- // aperture
- APERTURE m_apt_pin;
- APERTURE m_apt_line;
-
- ACTIVE_LAYER m_active_layer;
- FLAG m_fill;
- FLAG m_hole;
- FLAG m_lflags[LAYER_NUMBER];
- GRID m_grid;
- KBAN_DATA m_kban_data;
- APT_TABLE m_apt_pin_table;
- APT_TABLE m_apt_line_table;
-
- // block
- // BLOCK_INFO m_block_info;
- // BLOCK_INFO m_clip_info;
- // LAYER m_clipped_layer;
- bool m_bSelected;
- bool m_bClipped;
- KBAN_DATA m_clipped_data;
-
- bool m_bCaptured;
-
- FLAG m_new_state;
- std::string m_new_state_str;
- public:
- // constructor(s)
- KBAN_INFO()
- : m_active_layer(LAYER_PATTERN_TOP),
- m_apt_pin (APERTURE::APT_ROUND, 1000, 0, 900),
- m_apt_line(APERTURE::APT_ROUND, 500, 0, 0),
- m_fill(0),
- m_hole(0),
- m_grid(),
- m_kban_data(),
- m_bCaptured(false),
- m_new_state(0)
- {}
-
- // destructor
- virtual ~KBAN_INFO() {}
-
- // member functions
-
- bool operator==(const KBAN_INFO& rval) const; // dummy and illegal
- bool operator!=(const KBAN_INFO& rval) const; // dummy and illegal
- bool operator<(const KBAN_INFO& rval) const; // dummy and illegal
- bool operator>(const KBAN_INFO& rval) const; // dummy and illegal
-
- // aperture
- APERTURE& apt_pin() { return m_apt_pin; }
- APERTURE& apt_line() { return m_apt_line; }
-
- ACTIVE_LAYER& active_layer() { return m_active_layer; }
-
- FLAG& fill() { return m_fill; }
- FLAG& hole() { return m_hole; }
- FLAG* lflags() { return m_lflags; }
- GRID& grid() { return m_grid; }
- KBAN_DATA& kban_data() { return m_kban_data; }
- APT_TABLE& apt_pin_table () { return m_apt_pin_table; }
- APT_TABLE& apt_line_table() { return m_apt_line_table; }
-
- // block
- // BLOCK_INFO& block_info() { return m_block_info; }
- // BLOCK_INFO& clip_info() { return m_clip_info; }
- // LAYER& clipped_layer() { return m_clipped_layer; }
- bool& bSelected() { return m_bSelected; }
- bool& bClipped() { return m_bClipped; }
- KBAN_DATA& clipped_data() { return m_clipped_data; }
-
- bool& bCaptured() { return m_bCaptured; }
-
- FLAG& new_state() { return m_new_state; }
- std::string& new_state_str() { return m_new_state_str; }
-
- virtual void SetModifiedFlag(bool bModified = true) = 0;
- };
-
- #endif /* _KBANINFO_H_ */
-